为了账号安全,请及时绑定邮箱和手机立即绑定

Redis--命令

标签:
Redis
  • 设值

set KEY VALUE
  • 获值

get KEY
  • 设置过期时间(单位:s)

set KEY VALUE ex SECONDS
  • 设置过期时间(单位:s)

exprire KEY SECONDS
  • 设置过期时间(单位:ms)

pexprire KEY MILLISECONDS
  • 设置UNIX过期时间戳

exprireat KEY timestamp
  • 设置UNIX过期时间戳

pexprireat KEY MILLISECONDS-TIMESTAMP
  • 删除过期

rersist KEY
  • 存在则不插入

set B 2 nx
  • 存在则修改

set B 2 xx
  • 批插入

mset A 1 B 2 C 3
  • 批插入(原子操作)

msetnx D 7 E 3
  • 获取所有键keys *

  • 设置新值并返回旧值

getset A 2
  • 将值VALUE插入到字符串键key已存储内容的末尾(字符串拼接)

append KEY VALUE
  • 获取字符串长度

strlen KEY
  • 获取键值为key的字符串从index1到index2的值(index从左往右 从0开始 从右往左 从-1开始)

getrang KEY INDEX1 INDEX2

整型

incrby KEY INTNUM(整型)
  • 将key的值加INTNUM(没有则创建,并将INTNUM赋给key)

decrby KEY INTNUM
  • 将KEY的值减INTNUM

  • KEY值加一

incr KEY
  • KEY值减一

decr KEY

浮点型

incrbyfloat KEY NUM(浮点型)
  • 将key的值加NUM(没有则创建,并将NUM赋给key,通过传入负值做减法)

TTL KEYPTTL KEY
  • 查看剩余生存时间

  • KEY存在,但没有设置TTL,返回-1

  • KEY存在,还在生命周期内,返回剩余的秒

  • KEY曾经存在,但已消亡,返回-2

  • 键类型

type KEY
  • 键是否存在

exists KEY
  • 键重命名

renamenx KEY NEWKEY
  • 删除键

del KEY
  • 设置键为key的二进制的OFFset(从右往左)位值为VALUE

setbit KEY OFFSET VALUE
  • 获取键为key在OFFset位上的值(从右往左)最低位开始正数符号位为1负数为0getbit KEY OFFSET

  • 返回key在指定区间第一次出现的位置

bitpos KEY BIT [START][END]
  • 获取key二进制位数

bitcount KEY
  • 二进制位操作

bitop OPERATION KEY [KEY ...]
  • 清除当前库数据flushdbflushall

  • 清除所有库中的数据

  • List列表(Linked List实现元素为字符串)b ul LEFTr RIGHTx EXIST

  • 从左压入元素

lpush KEY VALUE
  • 从左压入元素

lrushx KEY VALUE
  • 从右压入元素

rpush KEY VALUE
  • 从右压入元素

rpushx KEY VALUE
  • 从左弹出元素

lpop KEY
  • 从右弹出元素

rpop KEY
  • 从source尾部弹出元素,压入destination头部

rpoplpush SOURCE DESTINATION
  • 返回指定范围元素

lrange KEY START STOP
  • 获取指定位置的元素

lindex KEY INDEX
  • 设置指定位置元素的值

lset KEY INDEX VALUE
  • 元素列表长度(元素个数)

llen KEYLREM KEY COUNT VALUEcount>0:从表头开始遍历移除count个值为VALUE的元素count<0:从表尾开始遍历移除count绝对值个值为VALUE的元素count=0:移除所有值为VALUE的元素
  • 移除从start到stop以外的元素

ltrim KEY START STOP
  • 在pivot(key中已有元素)之前(BEFORE)或之后(AFTER)插入元素VALUE

linsert KEY BEFORE|AFTER PIVOT VALUE
  • 从列表头部阻塞弹出元素

blpop KEY timeout
  • 从列表尾部阻塞弹出元素

brpop KEY TIMEOUT
  • 从一个列表尾部阻塞弹出元素压入另一个列表的头部

brpoplpush SOURCE DESTINATION TIMEOUThash散列
  • 设置单个字段(键,字段,值)

hset KEY FIELD VALUE
  • KEY的field不存在时才执行

hsetnx KEY FIELD VALUE
  • 设置多个字段

hmset KEY FIELD VALUE [FIELD VALUE ...]
  • 返回字段个数hlen KEY

  • 判断字段是否存在(key或field不存在返回0)

hexists KEY FIELD
  • 返回字段值

hget KEY FIELD
  • 返回多个字段值

hmget KEY FIELD [FIELD...]
  • 获取所有键值对

hgetall KEY
  • 获取所有键

hkeys KEY
  • 获取所有值

hvals KEY
  • 给KEY的FIELD字段加INCREMENT(整型)

hincrby KEY FIELD INCREMENT
  • 给key的field字段加increment(浮点型)

hincrbyfloat KEY field increment
  • 删除key的field字段

hdel KEY field [field...]

Set集合

  • 无序的,去重的

  • 元素字符串类型

sadd KEY member [member...]
  • 增加一个或多个元素(如果元素已存在,自动忽略)

srem KEY member [memver...]
  • 移除一个或多个元素(如果元素不存在,自动忽略)

smembers KEY
  • 返回集合所有元素(元素过多会产生阻塞)

sismember KEY member
  • 检查元素是否存在

SRANDMEMBER KEY count
  • 随机返回集合中count个元素(默认为1)

  • count大于集合基数,返回所有元素

  • count>0返回可重复出现的count绝对值个

SCARD KEY
  • 返回集合元素个数(不需要遍历)

SPOP KEY
  • 随机移除并返回被移除的元素

smovl SOURCE DESTINATION MEMBER
  • 移除source中的member到destination

sdiff KEY [key...]
  • 从第一个key中去除其他集合和自己的交集部分

sdiffstore DESTINATION KEY [KEY...]
  • 将差集结果存到destination中

sinter KEY [KEY...]
  • 取所有集合交集部分sinter

store destination KEY [key...]
  • 将交集结果存到destination中

sunion KEY [KEY...]
  • 取所有集合并集部分

sunionstore DESTINATION KEY [KEY...]
  • 将并集结果存到DESTINATION中SortedSet集合有序的,去重的元素字符串类型每个元素都关联一个浮点数分值(score),并按照分值从大到小顺序排列集合中的元素(分值可以相同)

  • 增加一个或多个元素(如果元素已存在,则使用新的score)

zadd KEY SCORE MEMBER [SCORE MEMBER...]
  • 移除一个或多个元素(元素不存在,自动忽略)

zrem KEY MEMBER [MEMBER...]
  • 显示分值

zscore KEY MEMBER
  • 增加或减少(increment为负数)分值

zincrby KEY INCREMENT MEMBER
  • 返回元素排名(索引从0开始)

zrank KEY MEMBER
  • 返回指定区间元素

zrange KEY START STOP [WITHSCORES]

如果score相同,则按照字典序lexicographical order排序

默认按照score从小到大,如果需要score从大到小排列,使用ZREVRANGE

  • 返回指定分值区间元素

zrangebyscore KEY MIN MAX [WITHSCORES] [LIMIT OFFSET COUNT]

返回score默认属于[min,max]之间,元素按照score升序排序,score相同字典序LIMIT中OFFset代表跳过多少个元素,count代表返回个数使用小括号,修改区间为开区间-inf和+inf表示负无穷和正无穷

  • 删除指定排名范围元素

zremrangebyrank KEY START STOP
  • 返回集合中元素个数

zcard KEY
  • 返回指定范围元素(分值)

zcount KEY MIN MAX
  • 并集

zunionstore DESTINATION NUMKEYS KEY [KEY ...] [weights WEIGHT] [aggregate sum|min|max]

NUMKEYS指定key的数量,必须WEIGHTS权重,key中每一个score都要乘以权重

AGGREGATE指定并集结果的聚集方式

SUM:将所有集合中某一元素的score值之和作为结果集中该成员的score值MIN:将所有集合中某一元素的score值中最小值作为结果集中该成员的score值

MAX:将所有集合中某一元素的score值中最大值作为结果集中该成员的score值

  • RDB持久化(全量备份)

  • RDB文件(二进制)

  • 定时更新(消耗大,不完全安全)

save M N
  • 距离上次创建RDB文件已过m秒,且所有数据库总共已发生不少于n次的修改,则执行BGSAVE

bgsave
  • 执行时不会阻塞进程(fork子进程,效率稍低)

  • AOF持久化(增量备份)

  • 使用数据库日志来保存每一条命令appendfsync always

服务器没写入一个命令,调用一次fdatasyncappend

  • fsync everysec服务器每秒调用一次

  • fdatasync appendfsync no服务器不主动调用

  • fdatasync always速度慢
    ererysec 默认值
    AOF文件冗余时,AOF文件过大,需要AOF重写,以减小AOF文件
    客户端向服务器发送BGREWRITEAOF命令通过设置配置选项来让服务器自动执行BGREWRITEAOF命令:
    auto-aof-rewrite-min-size,触发AOF重写所需的最小体积,只要AOF文件的体积大于等于size时.
    服务器才会考虑是否进行AOF重写

  • 主从复制Master:只能写

Slave:只能读

  • redis-server

--slaveof(启动)配置当前服务为slave

  • SLAVEOF host port (命令行)将当前服务器状态从master修改为其它服务器的slave

  • redis-server config.conf(配置文件)

config.conf文件内容:

slaveof master-ip master-portslave-portMaster出现故障时Slave使用SLAVEOF no one命令成为Master,其它Slave使用slaveof命令指向新的Master(手动)

  • Redis哨兵Sentinel

配置文件Sentinel monitor

监视名为name的主服务器,当quorum个Sentinel判断主服务器下线时,Sentinel才会同意故障转移

Sentinel默认端口号为26379

Redis Twemproxy(分片)

Redis集群最大节点个数 16384



作者:quanee
链接:https://www.jianshu.com/p/0688896be634


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
200
获赞与收藏
961

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消